# 创建时间：2025/5/2 星期五 15:40
# 创建人：李德才

class A:
    def __init__(self):
        self.num = 1
        self.name = "A"

    def info_print(self):
        print("A")
        print(self.num)


class B(A):
    def __init__(self):
        super().__init__()
        self.num = 2
        self.name = "B"

    def info_print(self):
        print("B")
        print(self.num)


class C(B):
    def __init__(self, num, name):
        super().__init__()
        self.num = num
        self.name = name


print(C.__mro__)  # 输出类的继承关系
print(C.__dict__)  # 输出类的属性
print(C.__bases__)  # 输出类的所有父类
print(C.__base__)  # 输出类最直接的父类， 也就是父类
print(C.__name__)  # 输出类的名字
print(C.__module__)  # 输出类定义所在的模块
print(C.__doc__)  # 输出类的文档字符串
print(A.__subclasses__())  # 输出类的所有子类
print(B.__subclasses__())  # 输出类的所有子类
print(A.__dict__)  # 输出类的属性
print(B.__dict__)  # 输出类的属性

x = C("x", "y")
print(x.__dict__)  # 输出实例的属性
print(x.__class__)  # 输出实例的类
print(x.__class__.__name__)  # 输出实例的类的名字
print(x.__class__.__module__)  # 输出实例的类定义所在的模块
